package com.terran4j.kotlin.basic

// 使用 try ... catch 捕获异常。
fun aboutException(str: String) {
    try {
        var i = str.toInt()
    } catch (e: NumberFormatException) {
        e.printStackTrace()
    } finally {
        println("str: $str")
    }
}

// 当抛出异常时，不需要在方法中声明。
fun aboutThrows(str: String) {
    try {
        var i = str.toInt()
    } catch (e: NumberFormatException) {
        throw Exception("can't parse str: $str")
    }
}

// 调用方法时，处理异常不是必须的。
fun call() {
    aboutThrows("abc")
}

fun main(args: Array<String>) {
    aboutThrows("abc")
}